package com.hspedu.enum_;

/**
 * @author sp
 * @version 0.1
 * 演示Enum类的各种方法，其中使用了Enumeration03.java中的EnumSeason类
 */
public class EnumMethod {
    public static void main(String[] args) {
        EnumSeason autumn = EnumSeason.AUTUMN;
        //toString: 输出枚举对象的名字
        System.out.println(autumn.toString());

        //ordinal: AUTUMN是枚举类中的第三个对象，所以输出2
        System.out.println(autumn.ordinal());

        //values: 返回当前枚举类的所有常量
        EnumSeason[] values = EnumSeason.values();
        //遍历取出枚举对象
        for (EnumSeason season : values) {
            System.out.println("season = " + season);
        }

        //valueOf: 将字符转换成枚举对象，要求字符串必须为已有的常量名，否则报异常
        EnumSeason autumn1 = EnumSeason.valueOf("AUTUMN");
        System.out.println("autumn1 = " + autumn1);
        System.out.println(autumn == autumn1);

        //compareTo: 比较两个枚举常量，比较的就是编号
        //return self.ordinal - other.ordinal;//将 当前对象的编号 - 指定的枚举对象编号
        System.out.println(EnumSeason.AUTUMN.compareTo(EnumSeason.SUMMER));
    }
}
